# Cursor + Claude Opus 5 - 以撒的结合肉鸽游戏项目实战

本项目是一个复刻《以撒的结合》核心玩法的俯视角肉鸽地牢网页游戏，包含 12 层地牢、13 个 Boss、11 种敌人、55 件道具，7900 多行原生 JavaScript，零依赖、零构建，所有美术素材全部由代码绘制，不含任何外部图片资源。全程用 Cursor + Claude Opus 5 开发，我只跟 AI 对话了两轮，一行代码都没写。

项目代码免费开源：[https://github.com/liyupi/binding-of-isaac-webgame](https://github.com/liyupi/binding-of-isaac-webgame)

在线试玩（手机也能玩）：[https://yisa.codefather.cn](https://yisa.codefather.cn)

⭐️ 推荐观看视频版，演示效果更好：[https://bilibili.com/video/BV1sQGA6EEjp](https://bilibili.com/video/BV1sQGA6EEjp)

![](https://pic.yupi.icu/1/image-20260730215626570.png)



## 项目介绍

这是我在小孩儿时期最喜欢玩的游戏，做梦我都想不到，现在我竟然一个人从 0 做出了这个游戏，而且我只投入了 10 分钟。

![](https://pic.yupi.icu/1/image-20260730215906823.png)

小时候我做梦都想自己做一个游戏，但那时候完全不可能，没技术、没时间。

倒不是因为不会写代码，而是做游戏这件事的门槛藏在别的地方：你得会画素材、懂关卡设计、能调数值平衡、还要反复试玩找手感。对于一个只会写业务代码的程序员来说，光是「画一个能看的角色」这一步就足以让人放弃。

《以撒的结合》的魅力在于随机生成的地牢、越打越强的道具构筑、每层结尾的 Boss 战，一局一局停不下来。

之前我在测评 Kimi K3 的时候，试着让 AI 复刻过这个游戏。当时的成品虽然界面简陋，但基本玩法是跑通的，可以发射子弹打怪，我当时都已经觉得很满足了：

![Kimi K3 当时开发的版本](https://pic.yupi.icu/1/1784190076766-03662fe2-7400-4938-87d1-422f3d992bd7-20260717144628318-20260728104643161.png)

后来 Claude Opus 5 发布，我在 Cursor 里用完全相同的提示词又跑了一遍，双剑合璧，结果直接把我干懵了。

![](https://pic.yupi.icu/1/image-20260730222704353.png)

这篇文章我不打算只给你看成品，更想带你看清一件事：**AI 现在写代码已经不是瓶颈了，真正吃时间的是怎么确认它写对了。** 这个项目里最有价值的经验，全在验证环节。

我也会把完整的提示词分享给你，你完全可以照着复刻一遍。



## 项目功能演示

先看看最终做出来的东西，你就知道 AI 现在能干到什么程度了。

1）随机地牢和战斗

每一层地牢都是随机生成的，包含战斗房、宝物房、商店和 Boss 房。角色发射眼泪攻击敌人，清空一个房间才能开门去下一个。

![](https://pic.yupi.icu/1/1785146642381-79f6906f-4e68-4427-b72e-0aa3115e8233.png)

2）11 种敌人，行为模式各不相同

不是简单地换个颜色换个血量，每种敌人的移动和攻击方式都不一样。比如 Horf 吐口怪完全不动、只吐扇形弹幕；Attack Fly 苍蝇高速不规则突进、撞墙反弹；Knight 骑士正面免伤 92%，必须绕到背后打；Globin 泥人第一次被打死只会瘫成一滩，2.4 秒后还会重组复活；Vis 血肠会锁定方向蓄力 0.85 秒，然后发射一道贯穿全场的血腥激光。

3）55 件可叠加的道具

道具分成改变攻击方式、改变生存方式、改变属性数值、改变角色外观四类，而且能互相叠加。比如拿到 Brimstone 之后，普通的眼泪射击会变成蓄力发射的血腥激光；拿到 Ipecac 之后眼泪落地会爆炸，但也会炸到自己；Holy Mantle 能让你每个房间免疫第一次伤害，还带一个可见的护盾泡。

角色的属性面板常驻在左下角，高于基准值显示蓝色、低于基准显示红色，下面一排是已拾取的道具图标。

![](https://pic.yupi.icu/1/1785146850442-e539fdbd-b359-4769-a65c-22b4638885c7.png)

4）12 层地牢，每层美术风格完全不同

从第 1 层 BASEMENT 的棕石地砖，一路下坠到第 7 层 WOMB 的血肉地面（没有地砖网格，改成层叠的血肉瓣加爬行的血管和毛孔）、第 10 层 SHEOL 的焦黑地面加余烬光斑、第 11 层 CATHEDRAL 的白色大理石和彩窗拱门。

关键是这些素材全都是用代码画出来的，没有用任何一张图片。

5）13 个 Boss，每个都有独立状态机

每个 Boss 都有自己的攻击套路和阶段变化。比如 MONSTRO 会蓄力压扁然后跳跃冲撞，高跳时还会有红圈预警落点，掉到 50% 血进入狂暴；SCOLEX 钢甲蠕虫只有闪光的尾节能被打，大部分时间钻地无敌；SATAN 分三个阶段，最后会离地踩击并召唤爆炸蝇。

![](https://pic.yupi.icu/1/1785146825259-76b4c935-67a7-46e3-9ede-3d0659eed806.png)

6）商店、死亡结算和移动端适配

第 2 层开始会出现商店，三个货架、价格随深度上涨，金币终于有了用处；死亡界面会结算击杀数、拾取道具、存活时间、到达层数、探索房间和击败 Boss 数。手机打开会自动出虚拟摇杆，竖屏能玩、横屏画面更大。

![手机上也能爽玩](https://pic.yupi.icu/1/image-20260801104922776.png)

顺便对比一下原版游戏的角色形象，你会发现还原度确实挺高的：

![原版游戏形象](https://pic.yupi.icu/1/1785146563523-6fed4f0b-08d8-4c82-bf24-343a46a418d4.png)

上面只放了几张图，12 层地牢、13 个 Boss、11 种敌人的完整外观都在开源仓库的 [截图画廊](https://github.com/liyupi/binding-of-isaac-webgame/blob/main/docs/GALLERY.md) 里，或者你直接打开 [在线试玩地址](https://yisa.codefather.cn) 自己感受一下更直观。



## 完整提示词

你肯定很好奇：一轮对话就搞定了？那提示词写的肯定很牛呗吧？

来给你们看下完整的提示词，虽然又臭又长，但基本全是 AI 生成的。原始需求就那么两段，然后我让 AI 逐步迭代优化，扩展成了现在这样。

![](https://pic.yupi.icu/1/image-20260731084717923.png)

我用的是 Cursor 的 `/goal` 命令来执行，完整内容如下，你可以直接拿去复用：

```plain
开发一个完全复刻「以撒的结合」核心玩法的肉鸽地牢网页游戏。俯视角，玩家操控角色在随机生成的房间中探索，用射击消灭敌人，清完一个房间后门打开进入下一个房间，每层有若干个房间和一个 Boss 房。

请先用 Firecrawl 联网搜索以撒的结合的游戏机制、美术风格、角色设计等资料，尽可能还原原作的视觉风格和游戏体验。游戏中的角色、敌人、道具、房间等图形素材用代码绘制，风格要贴近原作的暗黑卡通风。开发时用 Context7 查询所用游戏框架或库的最新文档。

核心系统包括：随机地牢生成（每层 5-8 个房间，房间之间有门连接）、射击战斗（玩家发射眼泪/子弹攻击敌人，敌人有不同的移动和攻击模式）、道具系统（击杀敌人或开宝箱随机掉落道具，道具能改变攻击方式、属性数值或角色外观）、属性系统（生命值、攻击力、射速、移动速度、射程）、至少 3 种普通敌人和 1 个 Boss。

操控方式：WASD 移动，方向键发射子弹（对应四个方向），桌面端键盘操控，移动端有虚拟摇杆和射击按钮。包含开始界面、死亡界面（显示本次探索统计：击杀数、拾取道具数、存活时间）、通关界面。

用 Loop Engineering 方式推进：先做一个房间 + 角色移动射击 + 一种敌人，确认战斗手感；然后加多房间连接和地牢生成；再加道具掉落和属性系统；最后做 Boss 和完整的游戏流程。每完成一步自己试玩验证，截图查看游戏画面渲染效果，根据截图判断角色、敌人、房间的视觉表现是否贴近原作风格，确保战斗手感好、敌人行为正常、道具效果生效、房间切换流畅，发现问题就自主修复。
```

细品这段提示词，你会发现几个亮点：

- 需求写得足够明确具体，把核心系统、操控方式、界面流程都交代清楚了
- 让 AI 利用联网技能搜索原作的游戏机制和美术风格作为参考，而不是靠它自己瞎想
- 用了 Loop Engineering 循环工程的思路，让 AI 每完成一步就自己测试验证，发现问题自己修复，不断循环推进直到交付成品

第三点是这个项目能成的关键。如果你只说「做个以撒的结合」，AI 大概率给你一个能跑但不能玩的 Demo。而明确要求它自己试玩、自己截图检查、自己修问题之后，整个开发过程就变成了一个能自我推进的循环（完整方法可以阅读本教程经验技巧板块中的《Loop Engineering 保姆级教程》）。



## AI 的执行过程

你肯定还会好奇：AI 会不会是联网搜到了原版游戏的源码，然后直接抄下来改巴改巴就完事儿了？

来，我带大家看下 AI 的执行过程。

AI 搜索的是原作游戏的机制和美术风格，然后自己从零写了 5000 多行代码，所有图形素材都是用代码画出来的。

![](https://pic.yupi.icu/1/image-20260730221935982.png)

接下来 AI 会自己打开浏览器运行游戏、通过截图检查效果，甚至写了一个机器人去试玩自己的游戏。然后发现难度太大、根本玩不了，于是自己定位和修复问题，调整了几个小时才终于交付。

![](https://pic.yupi.icu/1/image-20260730222246277.png)

这就是 Opus 5 恐怖的工程能力。虽然慢了点儿，但这个过程完全不需要我人工花时间，睡了一觉，游戏就做好了。

![](https://pic.yupi.icu/1/image-20260730222754659.png)

第一轮对话交付的是一个 3 层地牢的版本。之后我又开了个新对话，让 AI 帮我进一步扩展游戏，同样要求它自主测试验证，并且直接给我交付成品。

![](https://pic.yupi.icu/1/image-20260801105224986.png)

一觉醒来，AI 完成了任务，把游戏扩容到了 12 层地牢、13 个 Boss、55 件道具。激动的心，颤抖的手，咱们来玩玩看。

![](https://pic.yupi.icu/1/image-20260801105258287.png)

虽然比不上原版，但 AI 独立做到这个完成度，确实超出我的想象了，我自己试玩了半个小时都停不下来。

![](https://pic.yupi.icu/1/image-20260801105325549.png)



## 技术选型

这个项目的技术选型很有意思，因为它几乎每一条都是被需求逼出来的，而不是拍脑袋选的。

| 选择 | 理由 |
|---|---|
| 原生 Canvas 2D，手写游戏循环 | 需求要求素材用代码绘制，程序化绘图是核心工作量所在，游戏框架帮不上忙反而增加体积 |
| 原生 JavaScript，无构建 | 交付物要求浏览器直接打开就能玩，用普通 `<script>` 标签而非 ES module，双击 `index.html` 就行 |
| 固定 900×540 逻辑分辨率 + CSS 缩放适配 | 和原作的房间比例一致，所有坐标可以写死，不用处理分辨率无关逻辑 |
| mulberry32 播种随机数 | 同一个 seed 能复现整层地牢，测试和 Bug 复现全靠它 |
| WebAudio 程序化合成音效 | 同样为了避免外部资源，射击、受击、死亡、拾取、Boss 咆哮全部实时合成 |
| Python Playwright + 页面内调试接口 | 用真键盘和真触控驱动，配合可断言的游戏状态做自动化测试 |

代码结构也很清晰，按职责拆成了几个文件：

```plain
js/util.js      常量、数学、播种随机、粒子系统、屏幕震动、程序化音效
js/art.js       全部程序化绘图（2513 行，是最大的一个文件）
js/dungeon.js   楼层平面生成 + 12 层章节表 + 13 种房间布局
js/items.js     55 件道具及各自的程序化图标和效果
js/entities.js  玩家、眼泪模板、11 种敌人 AI、13 个 Boss 状态机
js/game.js      状态机、房间生命周期、碰撞、掉落、HUD、小地图、商店
js/main.js      输入、缩放适配、界面流程、调试接口
test/           自动化测试
```

游戏本体 7921 行，其中程序化绘图独占 2513 行。这个比例很说明问题：**当素材全部要用代码画的时候，绘图就是主要工作量。** 测试代码另有 1604 行。



## AI 自主迭代了 4 轮

前面说 AI「自己调整了几个小时」，这段时间它到底在干什么？

我翻了 AI 留下的开发过程报告，它一共自主迭代了 4 轮，每一轮都有很值得学的东西。



### 轮 1：先打通全链路，然后被截图打回

AI 没有按功能一个个做，而是一次性搭出完整骨架，然后立刻写测试脚本从头到尾驱动一遍。

结果第一次运行就 52 条断言全部通过，没有 console 报错，帧率 106fps。移动、射击、敌人掉血、清房开门、房间切换、道具生效、Boss 状态机、死亡和通关界面全部一次跑通。

但截图复查之后，它发现了一堆美术问题：Boss 太小、和普通敌人差不多大还跟地板撞色；开着的门是一块纯黑矩形，像画面破了个洞；石头是扁平的五边形；地板棋盘感太强，一眼就是程序画的；角色朝上时后脑是一颗没有细节的白蛋。

这一轮最大的启示是：**断言全绿不等于好看。** 逻辑正确和视觉正确是两回事，前者可以让 AI 自己断言，后者只能靠出图人工看。



### 轮 2：修命中反馈，顺手消除隐式耦合

第二轮继续截图复查，又抓到几个手感问题。最典型的是玩家受击时会被一个巨大的粉红色圆糊住整个身体，因为用了叠加混合模式画了个实心椭圆。改法是把「盖一个色块」换成「贴合轮廓的红色描边 + 外发光 + 极低透明度叠加」。

还有一个技术细节很值得学。AI 把五种敌人的尺寸整体上调之后，发现脸和身体脱节了，因为五官的偏移量是按旧半径硬编码的。它的解决办法是引入一个统一的缩放函数：**在固定参考半径下作画，再整体缩放。** 这样以后调整碰撞半径就不会再破坏比例了。

这种问题很典型，AI 写代码时经常留下这类隐式耦合，一旦你改了某个数值就会崩。让它抽象出一层，比每次出问题再手动修更划算。



### 轮 3：让机器人替你试玩，本轮价值最大

截图只能证明「好看」，证不了「能玩」。

所以这一轮 AI 写了一个页面内的机器人，只通过和人类完全相同的输入接口来操作游戏，然后跑多局无作弊试玩。

结果第一次机器人试玩，6 局全部在第 2 个房间内 20 到 34 秒暴死，平均只有 2.7 击杀。

**断言全绿的游戏，实际根本不能玩。**

最关键的原因是击退是假的。代码里被击中时给了一个速度冲量，但移动逻辑每帧都在把速度拉回目标值，两帧内就把冲量抹平了。结果无敌帧一结束，怪还贴着你，立刻挨第二下，形成死亡螺旋。修法是加 0.2 秒硬直，硬直期间输入不接管速度。另外还给敌人加了 0.55 秒的具现化保护期，避免开门瞬间白送伤害，并配了浮现动画让玩家看得懂；还加了命中停顿（命中瞬间冻结几帧），这个改动很便宜，但「打到了」的手感几乎全靠它。

第二次机器人试玩，不再暴死了，但 6 局全部卡在同一个房间不动。打日志逐帧 dump 状态之后，抓到两个真 Bug：清房奖励会掉进坑里永远拿不到（奖励固定生成在房间正中，而坑洞布局的坑正好占着那格）；坑洞阵的斜向缝隙只剩 9.5 像素，玩家挤进去之后两个碰撞法向互相抵消就动不了了。

还有第三个问题特别有代表性：**机器人自己也有 Bug**，它的四向射击必须先在某一轴对齐才打得中，但它一直斜着开枪。如果不去查，你会以为是游戏难度问题，然后把敌人越调越弱，结果越调越偏。你的测试工具本身也可能是错的。

第三次机器人试玩，0 死锁，但仍然 0 个 Boss 击杀。给伤害来源打上标签之后，结论非常干净：每局都清掉了 4 到 5 个普通房，全程只掉 3 到 4 点血，然后死在 Boss 手里，90% 的伤害来自 Boss 的接触伤害。

也就是说普通房难度已经调好了，问题 100% 在 Boss 战。于是做了一系列公平性修正，其中最重要的一条是：**Boss 身体只在真正扑击的时候才造成伤害**，站在待机的 Boss 旁边不再持续掉血。这也更接近原作，威胁应该来自有前摇的攻击，而不是贴着他站。

这一轮还暴露了一个测试方法上的坑。我本机同时跑了 7 个 Agent，页面拿不到 60fps，最差的情况下 905 秒挂钟时间只推进了 8.3 游戏秒，8 局跑了 90 分钟，大多数局是被超时截断而不是真的打输了。修法是把测试预算从按挂钟时间计改成按游戏内时间计，另外单独写了一个脚本直接把机器人塞进 Boss 房实战，80 秒就能判定 Boss 战是否可胜。



### 轮 4：移动端真机视口复查

最后一轮用手机视口截图，发现画布被压缩且裁切，只显示房间的一小块。

原因是承载画布的容器是 flex 子项，固定 900px 宽在 414px 视口里先被 flex 压扁，再叠加缩放，溢出部分被裁掉了。桌面端因为视口比 900 宽，从来没触发过，所以前面所有测试都没抓到这个问题。

修完之后 AI 补了 2 条回归断言：画布尺寸必须等于等比缩放值、必须完整落在视口内。

**每修一个 Bug 就补一条断言，这是让 AI 长期维护一个项目的关键习惯。**



## 怎么验证 AI 写对了

整套验证手段最后固化成了 6 层，我觉得这是这个项目最值得抄走的部分：

1. 结构冒烟测试：11 条，确认文件结构和入口没问题
2. 功能断言测试：70 条，用真键盘和真触控驱动页面，覆盖移动、射击、清房、道具叠加、Boss 战、死亡通关、移动端触控、地牢生成健壮性、性能等分组
3. Boss 战可胜性测试：13 个 Boss 逐个实战，最终 10 个被击杀，13 个全部被打到 78% 血量以下
4. 机器人全流程试玩：真实推进多层地牢，检查有没有死锁和报错
5. 难度标定：实测每层的 DPS 曲线，用来拟合血量成长曲线
6. 美术复查：每层每个 Boss 各出一张图，人工看

这里面第 5 条最值得说。玩家的输出是复利式增长的，每件道具都在上一件的结果上加或乘，实测机器人从第 1 层到第 12 层 DPS 增长了大约 20 倍。所以血量也必须复利增长，否则后期 Boss 几秒就被融掉。第一版用线性缩放的时候，第 12 层的 Boss 只撑了 5.9 秒。

最终的成长指数是拿实测 DPS 曲线拟合出来的，不是拍脑袋定的。这种事以前需要专门的数值策划来做，现在让 AI 跑几轮测试就能算出来。



## 一句话部署上线

游戏做好了，我想让大家都能玩上，怎么办？

我只要再跟 AI 说一句话，让它用 EdgeOne Makers 的网站部署技能直接上线。

![](https://pic.yupi.icu/1/image-20260801105431134.png)

很快 AI 就搞定了，还可以绑定一个自己的域名。

![](https://pic.yupi.icu/1/image-20260801105408341.png)

好了，现在大家都可以玩了。

![](https://pic.yupi.icu/1/image-20260801110429404.png)

想了解更多部署方式，可以阅读本板块中的《项目部署上线教程》。



## 一句话开源

还没完。我想让更多人帮我一起扩展游戏，怎么办？

同样只要跟 AI 说一句话，让它帮我生成带有截图的项目介绍文档，并使用 GitHub MCP 插件直接把代码完全开源。

![](https://pic.yupi.icu/1/image-20260801105508040.png)

好了，现在大家都可以拿去二次开发了。

![](https://pic.yupi.icu/1/image-20260801105554475.png)

从开发到测试到部署到开源，整个流程我一次都没有离开对话框。



## 项目收获

这个项目适合已经能用 AI 做出简单网页、想进一步挑战复杂项目的同学。跟着做完，你能收获：

- 学会用 Loop Engineering 的思路让 AI 自主迭代，而不是每一步都手动指挥
- 理解为什么「断言全绿」不等于「做对了」，以及逻辑验证和视觉验证要用不同的手段
- 掌握用自动化测试机器人验证交互效果的方法，这套思路可以迁移到任何需要真实操作验证的项目
- 明白让 AI 抽象出一层来消除隐式耦合，比每次出问题再修更划算
- 体会到 AI 现在已经能承担资料考证的工作，比如复刻原作的地牢生成算法
- 跑通从开发到部署上线再到开源的完整闭环

关于资料考证补充一下，这个项目的地牢生成算法是复刻原作真实算法的，AI 通过联网搜索找到了别人对原版源码的逆向分析，然后 1:1 实现。其中有一条规则很妙：候选格如果已经有超过 1 个已填充的邻居就拒绝生成，这条规则正是原作地牢「只有走廊、没有环路」的来源。

这种活儿以前得你自己去翻 Wiki 和论坛，现在交给 AI 联网搜索就行了。



## 花了多少钱

最后揭晓开发这个游戏消耗的金额，大概 400 多块钱，你觉得贵不贵？

如果搁以前我去请一个程序员来做，最少也得好几万吧，而且估计得做一个多月。

不过 Opus 5 的价格确实挺贵的，不是所有任务都需要用这种级别的模型，大家还是要根据具体任务选择合适的模型。

![7 个大模型的选择建议一览](https://pic.yupi.icu/1/01_7%E4%B8%AA%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9A%84%E9%80%89%E6%8B%A9%E5%BB%BA%E8%AE%AE%E4%B8%80%E8%A7%88_compressed_v3.png)

简单说就是：追求 90 分效果的任务交给 Opus 5，只需要 80 分的任务交给 GPT 或者 Kimi K3、GLM-5 这类模型，只要及格就好的任务用性价比极高的 DeepSeek。更详细的选择方法可以阅读本教程编程工具板块中的《AI 模型选择指南》。



## 写在最后

玩着自己做的游戏，我真是感慨万千。

![](https://pic.yupi.icu/1/image-20260801111112520.png)

小时候最想做的事，现在终于做到了。说实话，不是我变强了，是 AI 太强了。

不过我想强调的是，这个项目并不是「一句话让 AI 做个游戏」那么简单。真正让它从玩具变成产品的，是那 4 轮迭代里的每一次验证：截图复查抓美术问题、机器人试玩抓可玩性问题、DPS 标定抓数值问题、真机视口抓适配问题。

**AI 负责写，你负责设计怎么验证。** 这可能就是现阶段 Vibe Coding 最核心的分工了。

而且负责任地说，如果我再多花点时间，完全可以利用 AI 把它打磨成一个商业级产品，甚至让你看不出来是 AI 做的。所以都这个时候了，别再觉得 AI 搞不定复杂的项目了。

![](https://pic.yupi.icu/1/image-20260801110514866.png)

大家肯定也有一直想做但做不了的东西，不管是一个产品、一个游戏、还是帮自己提升效率的工具，现在真的可以大胆尝试了。

不用一开始就追求完美，先跑通最小的链路，然后设计好验证方式，让 AI 一轮一轮迭代下去。

想了解这次开发所用的模型能力，可以阅读本教程模型动态板块中的《Claude Opus 5 编程能力实测 - 7 个项目案例》，这个游戏就是那 7 个测试项目之一。
